#include <iostream>
#include <ctime>
/**
 * C++ 从函数返回指针
 *
 * int * myFunction(){}
 *
 * 另外，C++ 不支持在函数外返回局部变量的地址，除非定义局部变量为 static变量。
 *
 *
 */

//它会生成 10 个随机数，并使用表示指针的数组名（即第一个数组元素的地址）来返回它们
int * getRandom();

int * getRandom(){
    static int r[10];
    srand((unsigned )time(NULL));
    for (int i = 0; i < 10; ++i) {
        r[i] = rand();
        std::cout << r[i] << std::endl;
    }
    return r;
}

int main() {

    //一个指向整数的指针
    int *p;
    p = getRandom();

    for (int i = 0; i < 10; ++i) {
        std::cout << "*(p + " << i << ") : ";
        //指针运算，*(p + 1)索引向右移动获取数值
        std::cout << *(p + i) << std::endl;
    }


    return 0;
}
